package com.currency.service;

import com.currency.exception.AppException;
import com.currency.pojo.WytAdvancePayment;
import com.currency.pojo.WytCurrencyCoinsFreeze;
import com.currency.request.*;
import com.currency.response.BaseResponse;
import com.currency.response.NormalResponse;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

public interface CoinsService {
    NormalResponse queryPrepay(@RequestBody QueryPrepayRequest request) throws AppException;

    BaseResponse addExtFee(@RequestBody AddExtFeeRequest request) throws AppException;


    BaseResponse hastenPrepay(String prePayId) throws AppException;


    NormalResponse<List<WytCurrencyCoinsFreeze>> freezeCoinsPage(@RequestBody UserIdNormalRequest request) throws AppException;


    NormalResponse<List<WytAdvancePayment>> queryAdvancePayment(@RequestBody UserIdNormalRequest request);


    BaseResponse advancePayment(@RequestBody AdvancePaymentRequest request) throws AppException;


    BaseResponse ensureAdvancePayment(String id) throws AppException;


    BaseResponse oilCardWithdrawal(@RequestBody OilCardWithdrawalRequest request) throws Exception;


    BaseResponse ensureOilCardWithdrawal(@RequestBody EnsureOilCardWithdrawalRequest request) throws Exception;

}
